Thứ tự toán tử, lỗi và phạm vi biến trong JavaScript
← Quay lại trang chínhOperator Precedence quyết định toán tử nào được thực hiện trước trong một biểu thức phức tạp.
console.log(2 + 3 * 4); // 14 (nhân trước, cộng sau)
console.log((2 + 3) * 4); // 20 (ngoặc ưu tiên cao nhất)
console.log(10 - 2 ** 2); // 6 (lũy thừa trước, trừ sau)
console.log(10 / 2 + 3); // 8 (chia trước, cộng sau)
JavaScript có nhiều loại lỗi: SyntaxError, ReferenceError, TypeError... Có thể xử lý lỗi bằng try...catch.
try {
let x = y + 1; // ReferenceError: y chưa được khai báo
} catch (err) {
console.log('Lỗi:', err.name);
}
try {
JSON.parse('{bad json}'); // SyntaxError
} catch (err) {
console.log('Lỗi:', err.message);
}
Scope là phạm vi mà biến có thể truy cập được. Có 3 loại chính: Global, Function, Block (let, const).
let globalVar = "global";
function testScope() {
let functionVar = "function";
if (true) {
let blockVar = "block";
console.log(globalVar, functionVar, blockVar); // Truy cập được cả 3
}
// console.log(blockVar); // Lỗi: blockVar chỉ tồn tại trong block
}
testScope();